#include "Livro.h"

#include <iostream>

Livro::Livro()
{
	this->id = -1;
}

Livro::Livro(long _id, string _titulo, string _autor, string _tema,
		  double _valor, string _edicao, int _anoPublicacao, string _paginas){

	this->id = _id;
	this->titulo = _titulo;
	this->autor = _autor;
	this->tema = _tema;
	this->valor = _valor;
	this->edicao = _edicao;
	this->anoPublicacao = _anoPublicacao;
	this->paginas = _paginas;

}


Livro::~Livro()
{
}

void Livro::SetId(long _id){this->id = _id;}
long Livro::GetId(){return this->id;}

void Livro::SetTitulo(string _titulo){this->titulo = _titulo;}
string Livro::GetTitulo(){return this->titulo;}

void Livro::SetAutor(string _autor){this->autor = _autor;}
string Livro::GetAutor(){return this->autor;}

void Livro::SetTema(string _tema){this->tema = _tema;}
string Livro::GetTema(){return this->tema;}

void Livro::SetValor(double _valor){this->valor = _valor;}
double Livro::GetValor(){return this->valor;}

void Livro::SetEdicao(string _edicao){this->edicao = _edicao;}
string Livro::GetEdicao(){return this->edicao;}

void Livro::SetAnoPublicacao(int _anoPublicacao){this->anoPublicacao = _anoPublicacao;}
int Livro::GetAnoPublicacao(){return this->anoPublicacao;}

void Livro::SetPaginas(string _paginas){this->paginas = _paginas;}
string Livro::GetPaginas(){return this->paginas;}

ostream& operator <<(ostream &_out, const Livro &_livro){

	_out << "Detalhes do Livro " << _livro.titulo << endl;
	_out << "autor: " << _livro.autor << endl;
	_out << "tema: " << _livro.tema << endl;
	_out << "edicao: " << _livro.edicao << endl;
	_out << "publicado em: " << _livro.anoPublicacao << endl;
	_out << "quantidade paginas: " << _livro.paginas << endl;
	_out << "valor R$" << _livro.valor << endl << endl;

	return _out;

}
